
//<![CDATA[
var AJAX = {
	XmlHttp: null,
	create: function () {
		try {
			if (window.XMLHttpRequest) {
				AJAX.XmlHttp = new XMLHttpRequest();
				//ÀÏºÎÀÇ ¸ðÁú¶ó ¹öÀüµéÀº readyState property, 
				//onreadystate event¸¦ Áö¿øÇÏÁö ¾ÊÀ¸¹Ç·Î. - from xmlextrs
				if(this.XmlHttp.readyState == null) {
					this.XmlHttp.readyState = 1;
					this.XmlHttp.addEventListener("load", function () {
						this.XmlHttp.readyState = 4;
						if(typeof this.XmlHttp.onreadystatechange == "function")
							tmpXmlHtp.onreadystatechange();
					}, false);
				}
			} else {
				AJAX.XmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
		} catch(e) {
			alert("Your browser does not support XmlHttp objects");
			//throw new Error("Your browser does not support XmlHttp objects");
		}
	}
}

AJAX.openXML =  function (method, url, async, uname, pswd) {
	if(AJAX.XmlHttp != null) {
		if(uname == undefined) {
			AJAX.XmlHttp.open(method, url, async, uname, pswd);
		} else {
			AJAX.XmlHttp.open(method, url, async);
		}
		AJAX.XmlHttp.onreadystatechange = function () {
			if(AJAX.XmlHttp.readyState == 4) {
				if(AJAX.XmlHttp.status == 200) { // 200 Àº HTTP¿¡¼­ ¼º°ø i.e) 404 : not found
					AJAX.statusSuccessHandler(AJAX.XmlHttp.responseXML.xml);
				} else {
					AJAX.statusErrorHandler();
					alert('Error while loading!');
				}
			}
		}
	} else {
		alert ("need to create xmlhttp object");
	}
}

AJAX.openText =  function (method, url, async, uname, pswd) {
	if(AJAX.XmlHttp != null) {
		if(uname == undefined) {
			AJAX.XmlHttp.open(method, url, async, uname, pswd);
		} else {
			AJAX.XmlHttp.open(method, url, async);
		}
		AJAX.XmlHttp.onreadystatechange = function () {
			if(AJAX.XmlHttp.readyState == 4) {
				if(AJAX.XmlHttp.status == 200) { // 200 Àº HTTP¿¡¼­ ¼º°ø i.e) 404 : not found
					AJAX.statusSuccessHandler(AJAX.XmlHttp.responseText);
				} else {
					AJAX.statusErrorHandler();
					alert('Error while loading!');
				}
			}
		}
	} else {
		alert ("need to create xmlhttp object");
	}
}

AJAX.send = function (content) {
	if (content == undefined)
		AJAX.XmlHttp.send(null);
	else
		AJAX.XmlHttp.send(content);
}

AJAX.setOnReadyStateChange = function (funcname) {
	if (AJAX.XmlHttp) {
		AJAX.XmlHttp.onreadystatechange = funcname;
	} else {
		alert ("need to create xmlhttp object");
	}
}

// status 200 ÀÏ ¶§ Ã³¸® ÇÔ¼ö
AJAX.statusSuccessHandler = function (data) {
	alert(data);
}

AJAX.setStatusSuccessHandler = function (funcname) {
	AJAX.statusSuccessHandler = funcname;
}

// status 200 ÀÏ ¶§ ±âº» Ã³¸® ÇÔ¼ö
// setStatusSuccessHandler() ·Î ´ëÃ¼ °¡´É
AJAX.statusErrorHandler = function (status) {
	AJAX.rtnText = AJAX.XmlHttp.responseText;
}

AJAX.setStatusErrorHandler = function (funcname) {
	AJAX.statusErrorHandler = funcname
}

AJAX.setRequestHeader = function (label, value) {
	AJAX.XmlHttp.setRequestHeader(label, value);
}


function ChkStrLength() {
	this.updateChar = function(length_limit,limit_panel) {
		var comment = event.srcElement;
		var length = this.calculate_msglen(comment.value);
		var textlimit = document.getElementById(limit_panel);
		if(textlimit) textlimit.innerHTML = length;
		if(length > length_limit) {
			alert("ÃÖ´ë " + length_limit + "byteÀÌ¹Ç·Î ÃÊ°úµÈ ±ÛÀÚ¼ö´Â ÀÚµ¿À¸·Î »èÁ¦µË´Ï´Ù.");
			//comment.value = comment.value.replace(/\r\n$/, "");
			comment.value = this.assert_msglen(comment.value, length_limit, limit_panel);
		}
	}

	this.calculate_msglen = function(message) {
		var nbytes = 0;

		for(i=0; i<message.length; i++) {
			var ch = message.charAt(i);
			if(escape(ch).length > 4) {
				nbytes += 2;
			}
			else if(ch == '\n') {
				if(message.charAt(i-1) != '\r') {
					nbytes += 1;
				}
			}
			else if(ch == '<' || ch == '>') {
				nbytes += 4;
			}
			else {
				nbytes += 1;
			}
		}

		return nbytes;
	}

	this.assert_msglen = function(message, maximum, limit_panel) {
		var inc = 0;
		var nbytes = 0;
		var msg = "";
		var msglen = message.length;
		var textlimit = document.getElementById(limit_panel);

		for(i=0; i<msglen; i++) {
			var ch = message.charAt(i);
			if(escape(ch).length > 4) {
				inc = 2;
			}
			else if (ch == '\n') {
				if(message.charAt(i-1) != '\r') {
					inc = 1;
				}
			}
			else if (ch == '<' || ch == '>') {
				inc = 4;
			}
			else {
				inc = 1;
			}
			if((nbytes + inc) > maximum) {
				break;
			}
			nbytes += inc;
			msg += ch;
		}
		if(textlimit) textlimit.innerHTML = nbytes;
		return msg;
	}
}

var chkPhase = true;
function checkAll() {
	var chk = document.forms.chkArticle;

	if(chkPhase) {
		for(var i=0; i<chk.length; i++) {
			if(chk[i].type == "checkbox" && !chk[i].checked) {
				chk[i].checked = true;
			}
		}
		chkPhase = !chkPhase;
	}
	else {
		for(var i=0; i<chk.length; i++) {
			if(chk[i].type == "checkbox" && chk[i].checked == true) {
				chk[i].checked = !chk[i].checked;
			}
		}
		chkPhase = true;
	}
}

function sendit(str) {
	var chkForm = document.chkArticle;

	switch(str) {
		case("deleteAtAll") :
			chkForm.action = "?id=hairacc&mode=deleteAtAll&srhctgr=|subject|&srhstr= &ctgrstr=&page=1";
			chkForm.submit();
			break;
		case("multiview") :
			chkForm.action = "?id=hairacc&mode=multiview&srhctgr=|subject|&srhstr= &ctgrstr=&page=1";
			chkForm.submit();
			break;
		case("MoveArticles") :
			chkForm.action = "?id=hairacc&mode=MoveArticles&srhctgr=|subject|&srhstr= &ctgrstr=&page=1";
			chkForm.submit();
			break;
		default :
			window.location.href = "?id=hairacc&mode=error&msg=%BF%B9%BF%DC+%BF%C0%B7%F9%C0%D4%B4%CF%B4%D9%2E";
			break;
	}
}

function formResize(obj,value) {
/*
	var i;
	for(i=1;i<=value;i++)
		obj.rows += 1;
*/
	if(value<0 && Math.abs(value)>=Math.abs(obj.rows)) {
		alert("´õÀÌ»ó ÁÙÀÏ¼ö ¾ø½À´Ï´Ù.");
	} else {
		obj.rows += value;
	}
}

function playFlash(objId,id,maintainCode,filename,seqNum,width,height) {
	var obj = document.getElementById(objId);
	try {
		obj.innerHTML = "<embed src=\"?id=" + id + "&amp;mode=fileLink&amp;maintainIdCode=" + maintainCode + "&amp;filename=" + filename + "\" id=\"UPLOADED_FLASH" + seqNum + "\" style=\"width:" + width + "px; height:" + height + "px;\" />";
	} catch(e) { window.alert(e.number + " : " + e.discription); }
}

function mailto(str) { 
	temp = str.split("+");
	mail = "";
	for(var i=0; i<temp.length; i++) {
		mail = mail + String.fromCharCode(parseInt(temp[i]));
	} 
	window.location.href = "mailto:" + mail 
}

function chkSrhClass() {
	var srhFrm = document.getElementById("srhfrm");
	var srhctgrString = "";

	if(srhFrm.srhstr.value) {
		if(srhFrm.srhctgr1.checked) srhctgrString += "|subject|";
		if(srhFrm.srhctgr2.checked) srhctgrString += "|contents|";
		if(srhFrm.srhctgr3.checked) srhctgrString += "|author|";

		srhFrm.srhctgr.value = srhctgrString;
		srhFrm.submit();
	} else {
		alert("°Ë»ö¾î¸¦ ÀÔ·ÂÇØ ÁÖ¼¼¿ä.");
	}
}

function category_change(obj) {
	var myindex = obj.selectedIndex;
	/*
	srhctgr = "category";
	srhstr = obj.options[myindex].value;
	window.location.href = "?id=hairacc&amp;mode=list&amp;srhctgr=" + srhctgr + "&amp;srhstr=" + srhstr + "&amp;page=1";
	*/
	window.location.href = "?id=hairacc&amp;mode=list&amp;ctgrstr=" + obj.options[obj.selectedIndex].value;
	return true;
}

function controlImage(img_id,img_width) {
	var maxWidth = img_width < 1 ? document.body.clientWidth-100 : img_width;
	var w = document.getElementById(img_id).width;

	document.getElementById(img_id).style.visibility = "hidden";

	if(w <= 0) {
		time_id = window.setTimeout("controlImage('" + img_id + "')",10);
	}
	else {
		if(w > maxWidth) {
			document.getElementById(img_id).width = maxWidth;
		}
		document.getElementById(img_id).style.visibility = "visible";
	}
}

function vwimgrzmv(obj,imgsrc) {
	var rz = 0;
	var scrl = 0;
	var rzwidth = obj.width + 5;
	var rzheight = obj.height + 25;
	var mvleft = (window.screen.width - obj.width) / 2;
	var mvtop = (window.screen.height - obj.height - 25) / 2;
	var imgwin = null;
	var ie = navigator.appName.indexOf('Microsoft Internet Explorer')>-1 ? true : false;

	if(obj.height>window.screen.height) {
		rz = 0;
		scrl = 1;
		rzwidth = obj.width + 23;
		rzheight = window.screen.height - 30;
		mvtop = 0;
	}

	if(obj.width>window.screen.width) {
		rz = 0;
		scrl = 1;
		rzwidth = window.screen.width;
		mvleft = 0;
	}

	if(!imgsrc) imgsrc = obj.src;

	imgwin = window.open('','_blank','toolbar=0,menubar=0,status=1,scrollbars=' + scrl + ',resizable=' + rz + ',width=0,height=0,left=' + ((window.screen.availWidth-245)/2) + ',top=' + ((window.screen.availHeight-105)/2));
	if(imgwin) {
		imgwin.blur();
		imgwin.moveTo(0,0);
		imgwin.resizeTo(0,0);

		imgwin.document.write(("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"><" + "html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"ko\" xml:lang=\"utf-8\"><" + "head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" /><" + "title>object</" + "title><style type=\"text/css\">body { margin:0; }</style></" + "head>" +
			"<" + "body>" +
			"<img src=\"" + imgsrc.replace('+',' ') + "\" id=\"uploaded_image\" " +
			" onload=\"" +
				"var rz = 0;" +
				"var scrl = 0;" +
				"var rzwidth = this.width + 5;" +
				"var rzheight = this.height + 25 + " + (ie?55:30)  + ";" +
				"var mvleft = (window.screen.width - this.width) / 2;" +
				"var mvtop = (window.screen.height - this.height-25) / 2;" +
				"var imgwin = null;" +
				"if(this.height >= window.screen.height - 10) {" +
					"rzwidth = this.width + 23;" +
					"rzheight = window.screen.height - 30;" +
					"mvtop = 0;" +
				"} " +
				"if(this.width >= window.screen.width - 10) {" +
					"rz = 1;" +
					"scrl = 1;" +
					"rzwidth = window.screen.width;" +
					"mvleft = 0;" +
				"}" +
				"window.resizeTo(rzwidth, rzheight);" +
				"window.moveTo(mvleft, mvtop);" +
				"window.scrollbars = scrl;" +
				"window.resizable = rz;" +
				"\"" +
			" onerror=\"alert('ÀÌ¹ÌÁöÆÄÀÏÀÌ ¾ø°Å³ª ÆÄÀÏÀÌ¸§ÀÌ Àß¸øµÇ¾ú½À´Ï´Ù.\\nÆÄÀÏÀÌ¸§¿¡ ÇÑ±ÛÀÌ Æ÷ÇÔµÇ¾î ÀÖÀ¸¸é ºä¾îÃ¢¿¡ ¿À·ù°¡ ¹ß»ýÇÒ¼öµµ ÀÖ½À´Ï´Ù.');self.close();\"" +
			" onclick=\"window.close();\"" +
			" style=\"cursor:hand;cursor:pointer;\" alt=\"Å¬¸¯ÇÏ½Ã¸é Ã¢ÀÌ ´ÝÈü´Ï´Ù\" />" +
			"<" + "script type=\"text/javascript\">" +
				"function init() {" +
					"var img = document.getElementById('uploaded_image');" +
					"if(img) {" +
						"if(img.width >= window.screen.width -10) {" +
							"img.width = window.screen.width - 10;" +
						"}" +
						"if(img.height >= window.screen.height-50) {" +
							"document.body.scroll='auto';" +
						"}" +
						"document.title = img.width + '*' + img.height;" +
					"}" +
				"}" +
				"window.onLoad = init();" +
			"</" + "script" + ">" +
			"</" + "body></" + "html>"));
		imgwin.status = "Resolution:" + window.screen.width + "x" + window.screen.height;
		imgwin.focus();
	}
}

function getFileExtension( filePath ) {
	var lastIndex = -1;
	lastIndex = filePath.lastIndexOf('.');
	var extension = "";

	if(lastIndex != -1) {
		extension = filePath.substring( lastIndex+1, filePath.len );
	}
	else {
		extension = "";
	}
	return extension;
}

function loadFlash(objSrc, width, height, wmode) {
	var obj = '';
	obj += '<object type="application/x-shockwave-flash" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="'+width+'" height="'+height+'">';
	obj += '<param name="movie" value="'+objSrc+'">';
	obj += '<param name="quality" value="high">';
	obj += '<param name="bgcolor" value="#000000">';
	obj += '<param name="wmode" value="'+wmode+'">';
	obj += '<param name="menu" value="false">';
	obj += '<param name="Command" value="Close">';
	obj += '<param name="swliveconnect" value="true">';
	obj += '<embed src="'+objSrc+'" quality=high bgcolor="#000000" width="'+width+'" height="'+height+'" swliveconnect="true" id="param" name="param" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"><\/embed>';
	obj += '<\/object>';
	document.write(obj);
}

function chkCapsLock(e, id) {
	var myKeyCode = 0;
	var myShiftKey = false;
	var myMsg = '<Caps Lock>ÀÌ ÄÑÁ® ÀÖ½À´Ï´Ù.';
	var obj = id ? document.getElementById(id) : '';
	var capsLock = false;

	if(document.all) {
		myKeyCode = e.keyCode;
		myShiftKey = e.shiftKey;
	}
	else {
		myKeyCode = e.which;
		myShiftKey = (myKeyCode==16) ? true : false;
	}

	if((myKeyCode>=65 && myKeyCode<=90) && !myShiftKey) { capsLock = true; }
	else if((myKeyCode>=97 && myKeyCode<=122) && myShiftKey) { capsLock = true; }

	if(capsLock) {
		if(obj) {
			myMsg = myMsg.replace(/[<]/gi,'&lt;');
			myMsg = myMsg.replace(/[>]/gi,'&gt;');
			myMsg = myMsg.replace(/[\n]/gi,'<br />');
			obj.innerHTML = myMsg;
		}
		else window.alert(myMsg);
	}
	else {
		if(obj) obj.innerHTML = '';
	}
}

function doBlink() {
	var blink = document.all.tags("BLINK");
	for (var i=0; i<blink.length; i++) {
		blink[i].style.visibility = blink[i].style.visibility == "" ? "hidden" : "";
	}
}

function startBlink() {
	if (document.all) {
		setInterval("doBlink()",500);
	}
}

var csl = new ChkStrLength();
window.onLoad = startBlink();
//]]>
